﻿#define _CRT_SECURE_NO_WARNINGS 
#include <string.h>
#include <stdio.h>
//编写一个函数，求一个字符串的长度，
//并找出其中大写字母、小写字母、数字、空格，以及其他字符个各有多少。
//在main()函数中输入字符串，在编写的函数中计算各类字符长度并输出。

//void count(char str[], int a[]) 
//{
//	int caps = 0, little = 0, space = 0, num = 0, other = 0;
//	for (int i = 0; i < strlen(str); i++)  //统计个数
//	{ 
//		if (str[i] >= '0' && str[i] <= '9') //数字个数
//		{
//			num++;               
//		}
//		else if (str[i] == ' ')   //空格个数
//		{
//			space++;           
//		}
//		else if (str[i] >= 'A' && str[i] <= 'Z') //大写字母个数
//		{
//			caps++;            
//		}
//		else if (str[i] >= 'a' && str[i] <= 'z') //小写字母个数
//		{
//			little++;         
//		}
//		else //其他
//		{
//			other++;         
//		}
//	}
//	a[0] = caps;
//	a[1] = little;
//	a[2] = space;
//	a[3] = num;
//	a[4] = other;
//}
//int main() 
//{
//	char str[1024];
//	int a[10];
//	printf("请输入字符串：\n");
//	gets(str);
//	count(str, a);
//	printf("该字符串中:\n大写字母%d个\n小写字母%d个\n空格%d个\n数字%d个\n其他字符%d个", a[0], a[1], a[2], a[3], a[4]);
//	return 0;
//}

//有序序列合并，输入两个整数，表示行、列，为升序数组，在合并一起按升序排列
//#include <stdio.h>
//int main() {
//    int n, m;
//    scanf("%d%d", &n, &m);
//    int arr1[100];
//    int arr2[100];
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", &arr1[i]);
//    }
//    for (int i = 0; i < m; i++)
//    {
//        scanf("%d", &arr2[i]);
//    }
//
//    int i = 0;
//    int j = 0;
//    while (i < n && j < m)
//    {
//        if (arr1[i] < arr2[j])
//        {
//            printf("%d ", arr1[i]);
//            i++;
//        }
//        else
//        {
//            printf("%d ", arr2[j]);
//            j++;
//        }
//    }
//
//    while (i < n)
//    {
//        printf("%d ", arr1[i]);
//        i++;
//    }
//    while (j < m)
//    {
//        printf("%d ", arr2[j]);
//        j++;
//    }
//    return 0;
//}

//学习通，函数章节课堂练习
//编写一个函数，函数接受两个整数参数 start 和 end，
//计算从 start 到 end（包括 start 和 end）所有整数的和。
//在主函数中调用该函数并输出结果，例如计算从 3 到 7 的和。
//void add(int start, int end)
//{
//	int sum = 0;
//	for (int i = start; i <= end; i++)
//	{
//		sum += i; 
//	}
//	printf("%d", sum);
//}
//int main()
//{
//	int start = 0;
//	int end = 0;
//	scanf("%d%d", &start,&end);
//	add(start,end);
//	return 0;
//}

//【数组函数】编写一个函数，
//函数接受一个整数数组和数组的长度作为参数，函数返回数组中的最大值。
//在主函数中创建一个整数数组并初始化，调用该函数并输出最大值。
//int re_max(int arr[], int len)
//{
//	int max = arr[0];
//	for (int i = 0; i < len; i++)
//	{
//		if (arr[i] > max)
//			max = arr[i];
//	}
//	return max;
//}
//
//int main()
//{
//	int arr[5] = {23,16,26,78,57};
//	int len = sizeof(arr) / sizeof(arr[0]);
//	int r = re_max(arr, len);
//	printf("%d", r);
//}

//【字符数组】编写一个函数，函数接受一个字符数组作为参数，统计该字符数组中元音字母（a、e、i、o、u、A、E、I、O、U）的个数。
//在主函数中创建一个字符数组并初始化，调用该函数并输出元音字母的个数。
//void count_yyzm(char arr[])
//{
//	int len = strlen(arr);
//	int count = 0;
//	for (int i = 0; i < len; i++)
//	{
//		if (arr[i] == 'a' || arr[i] == 'e' || arr[i] == 'i' || arr[i] == 'o' || arr[i] == 'u' ||
//			arr[i] == 'A' || arr[i] == 'E' || arr[i] == 'I' || arr[i] == 'O' || arr[i] == 'U')
//			count++;
//	}
//	printf("%d", count);
//}
//int main()
//{
//	char arr[] = "Hello world! I love you\0";
//	count_yyzm(arr);
//	return 0;
//}

//【递归】编写一个递归函数，函数接受一个正整数参数 n，计算从 1 到 n 的所有整数的乘积（即 n 的阶乘）.
//在主函数中调用该函数并输出结果.
//int jiecheng(int n)
//{
//		if (n == 1)
//		return 1;
//	else
//		return n * jiecheng(n - 1);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int result = jiecheng(n);
//	printf("%d\n", result);
//	return 0;
//}


//int main()
//
//{
//
//     int x[]={10,20,30};
//
//     int *px=x;
//
//     printf("%d,",++*px);
//
//     printf("%d,",*px);
//
//     px=x;
//
//     printf("%d,",(*px)++);
//
//     printf("%d,",*px);
//
//     px=x;
//
//     printf("%d,",*px++);
//
//     printf("%d,",*px);
//
//     px=x;
//
//     printf("%d,",*++px);
//
//     printf("%d\n",*px);
//
//     return 0;
//
//}